#ifndef EXPLICITADDRESSINGPACKET_HPP_
#define EXPLICITADDRESSINGPACKET_HPP_

#include "Packet.hpp"

class ExplicitAddressingPacket : public Packet {
private:
    uint8_t  source_endpoint;
    uint8_t  dest_endpoint;
    uint16_t cluster_id;
    uint16_t profile_id;
    uint8_t  broadcast_radius;
    const uint8_t options = 0;

    std::vector<uint8_t> payload;

public:
    ExplicitAddressingPacket();
    ~ExplicitAddressingPacket();
    void assemble_payload(uint8_t frame_id, uint32_t lower_addr, std::string data);
    std::vector<uint8_t> * get_payload();
};



#endif /* EXPLICITADDRESSINGPACKET_HPP_ */
